The present invention relates to systems for tracking and identifying packets and packet sequence numbers in a network.
In many networks, messages may be divided into smaller packets for transmission. A message that is being transmitted from a source node to a destination node may be divided into more than one packet at a source node before transmission. At a destination node, the packets may be reassembled, in the proper order, to recreate the message. During transmission some packets may be lost, arrive out of order, become duplicated, become corrupt, and the like. To prevent missing packets, duplicates, and the like, the packets may be assigned a sequence number or unique identifiers and nodes in the network may track the receipt, acknowledgement, and transmission of the packets. Keeping a list of the received, transmitted, and/or acknowledged packets may allow nodes to detect missing packets, duplicates, network loops, performance problems, unreliable links, and the like.
Keeping track of packets using traditional methods and data structures may require considerable processing capabilities and/or data storage requirements. In many networks, nodes may have limited processing, data storage, and/or power resources. Nodes may be simple low power sensors, for example, with a limited power budget and data storage resources. Keeping track of packets using existing techniques may reduce the life span of the node due to increased processing and hence power consumption, may reduce data storage available for data logging, and the like.
Thus what is needed is an improved methods, systems, and apparatus for tracking packets and packet sequences.